package behavior.template;

/**
 * @author dali
 * @date 2021-07-21 18:30
 * @Description
 */

public abstract class Weekly {
    final void write() {
        start();
        if (hook()) {
            addOther();
        }
        content();
        end();
    }

    void start() {
        System.out.println("周报开头");
    }

    void content() {
        System.out.println("周报正文");
    }

    void end() {
        System.out.println("周报开头");
    }

    //添加其他一些东西
    abstract void addOther();

    //默认不添加
    boolean hook() {
        return false;
    }
}
